**1. 干什么** 三系统 socket 概念同源 BSD,用户态函数名几乎一致,差异在内核侧实现,收发字节均经协议栈交网卡。 **2. 谁在调** * 用户态主体:联网程序。 * 系统层封装:libc socket 系列、ws2\_32.dll、libSystem BSD socket。 * 内核态主体:Linux 内核协议栈、AFD.sys 加 tcpip.sys、XNU 内 BSD 协议栈。 **3. 做什么业务** * Linux:socket 建立通道,connect/bind/listen 连接监听,send/recv 收发,直接进内核协议栈,连接经 /proc/net/tcp 或 netstat 查看。 * Windows:WSAStartup 后 socket,同名函数语义一致,请求先交 AFD.sys 辅助驱动再下 tcpip.sys,连接经 IP Helper API 或 netstat -ano 查看。 * macOS:libSystem 提供 BSD socket 同名函数,协议栈位于 XNU 内,连接经 netstat 或 lsof